﻿Public Class IlacListeGiris
    Inherits Process

    Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
        Select Case e.EventType
            Case EventType.Initialize
				Text = "İlaç Liste Girişi"
                InitialHelp = "İlaç listesini içeren dosyayı seçin."
                AddField("@file", "nl", "", "Dosya seçmeniz gerekir.")
                StartBody()
                AddList()
                List.AddColumns("ilac(İlaç adı;l;100%),etken(Etken madde;l;100%),barkod(Barkod;c;100),fiyat(Fiyat;r;80)")
            Case EventType.ValidateForm
                Dim Text As String
                Try
                    Help = "Lütfen bekleyin, dosya okunuyor..."
                    Text = FileSystem.ReadFileContents(Input("file"))
                Catch ex As Exception
                    Warning("Dosya okunurken bir hata oluştu.", ex.Message)
                    Exit Sub
                End Try
                Try
                    Help = "Lütfen bekleyin, dosya işleniyor..."
                    For Each Line As String In Split(Text, vbCrLf)
                        If Mid(Line, 1, 1) >= "0" And Mid(Line, 1, 1) <= "9" Then
                            Dim Items = Split(Line, ";")
                            List.AddRow(Items(3), Items(4), Items(5), Items(10))
                        End If
                        Application.DoEvents()
                    Next
                Catch ex As Exception
                    Warning("Dosya işlenirken bir hata oluştu.", ex.Message)
                    Exit Sub
                End Try
                Help = "Dosya okundu. Devam butonuyla kayıt işlemine geçebilirsiniz."
				Buttons.Show("Next.Reset")
                e.Result = True
            Case EventType.Save
                Try
					For Each Row As DataGridViewRow In List.Rows
						List.Emphasize(Row)
						Saglik.Ilac.IlacKaydet(Remote, Row.Cells("etken").Value, Row.Cells("ilac").Value, Row.Cells("barkod").Value, Replace(Row.Cells("fiyat").Value, ",", "."))
					Next
                    Info("İşlem tamamlandı.")
                    Close()
                Catch ex As Exception
                    Rollback(ex.Message)
                End Try
        End Select
    End Sub

End Class
